package com.xuecheng.content.common.constant;

import com.xuecheng.common.domain.code.ErrorCode;


/**
 * 内容管理服务业务异常枚举类
 * <hr>
 * 后四位错误代码由开发者开发中进行定义<br>
 * 内容管理服务前两位错误服务标识为：12(在 {@link ErrorCode} 中定义)
 * 模块错误代码定义如下：
 * <ul>
 *   <li>课程基本--定义模块代码为： 00</li>
 *   <li>课程营销--定义模块代码为： 01</li>
 *   <li>课程发布--定义模块代码为： 02</li>
 *   <li>课程下线--定义模块代码为： 03</li>
 *   <li>课程计划--定义模块代码为： 04</li>
 *   <li>课程教师--定义模块代码为： 05</li>
 * </ul>
 * 1.定义一个枚举类.实现ErrorCode接口
 * 2.实现ErrorCode的方法,业务异常信息类中定义出属性(code,desc)
 * 3.定义出枚举的构造方法
 *    定义一个有参的构造方法:给枚举类中的异常信息来使用
 *    code.desc
 * 4.在枚举类中定义异常信息
 *      异常信息定义的格式:
 *        E_异常信息的编码:
 *          异常信息的编码格式:6位数字来构成
 *           12                  00               00
 *      业务异常的编码        业务功能的编码    由程序员自定义
 *    在ErrorCode中有声明
 *
 * @Description: 定义内容管理中的业务异常代码
 */
public enum TestContentErrorCode implements ErrorCode {
    E_120000(120000, "课程名称不能为空"),
    E_120001(120000, "课程大分类不能为空"),
    E_120002(120000, "课程小分类不能为空"),


    ;

    //定义异常属性
    //异常编码
    int code;
    //异常描述
    String desc;


    //异常信息的构造方法
    TestContentErrorCode(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    @Override
    public int getCode() {
        return code;
    }

    @Override
    public String getDesc() {
        return desc;
    }
}
